package com.oristand.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.RetentionPolicy;

/**
 * @author shiyjian
 * @version 1.0
 * @date 2021/12/2 14:08
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface RedisCache {
    /**
     * 键
     *
     * @return redis中的key
     */
    String key() default "";

    /**
     * 过期时间
     *
     * @return 过期时间
     */
    long expired() default -1;

    /**
     * 是否为查询操作
     * 如果为写入数据库的操作，该值需置为 false
     *
     * @return 读写操作分离
     */
    boolean read() default true;
}
